home *** CD-ROM | disk | FTP | other *** search
/ BMUG Revelations / BMUG Revelations.toast / Sound / Sound Utilities / The Sound-Tracker V1.0 / 'STrI' Glue.c < prev    next >
Text File  |  1992-04-23  |  2KB  |  104 lines

  1.  
  2. /* 'STrI' Glue.c - Glue for 'STrI' resource calls */
  3.  
  4. /* Copyright (c) 1992 by Frank Seide, Koolbarg 39d, D-2000 Hamburg 74, Germany */
  5.  
  6. OSErr GetSoundTrack() /* (int vRefNum, StringPtr fName, int ldOverSampling,
  7.                         struct SoundTrack ** *soundTrackHandle, Boolean check) */
  8. {
  9.     asm {
  10.         move.l        #0,-(a7)
  11.         move.l        #'STrI',-(a7)
  12.         move.w        #128,-(a7)
  13.         _GetResource
  14.         move.l        (a7)+,a0
  15.         move.l        a0,d0
  16.         bne            @OK
  17.         move.w        #25,d0
  18.         _SysError
  19. @OK    _HLock
  20.         _HNoPurge
  21.         move.l        (a0),a0
  22.         jmp        0(a0)
  23.     }
  24. }
  25.  
  26. void DisposeSoundTrack() /* (struct SoundTrack ** sth) */
  27. {
  28.     asm {
  29.         move.l        #0,-(a7)
  30.         move.l        #'STrI',-(a7)
  31.         move.w        #128,-(a7)
  32.         _GetResource
  33.         move.l        (a7)+,a0
  34.         move.l        (a0),a0
  35.         jmp        4(a0)
  36.     }
  37. }
  38. struct SoundTrack * LockSoundTrack() /* (struct SoundTrack ** soundTrack) */
  39.  
  40. {
  41.     asm {
  42.         move.l        #0,-(a7)
  43.         move.l        #'STrI',-(a7)
  44.         move.w        #128,-(a7)
  45.         _GetResource
  46.         move.l        (a7)+,a0
  47.         move.l        (a0),a0
  48.         jmp        8(a0)
  49.     }
  50. }
  51.  
  52. void UnlockSoundTrack() /* (struct SoundTrack ** soundTrack) */
  53. {
  54.     asm {
  55.         move.l        #0,-(a7)
  56.         move.l        #'STrI',-(a7)
  57.         move.w        #128,-(a7)
  58.         _GetResource
  59.         move.l        (a7)+,a0
  60.         move.l        (a0),a0
  61.         jmp        12(a0)
  62.     }
  63. }
  64.  
  65. void UnlinkSoundTrack() /* (struct SoundTrack ** soundTrack) */
  66. {
  67.     asm {
  68.         move.l        #0,-(a7)
  69.         move.l        #'STrI',-(a7)
  70.         move.w        #128,-(a7)
  71.         _GetResource
  72.         move.l        (a7)+,a0
  73.         move.l        (a0),a0
  74.         jmp        16(a0)
  75.     }
  76. }
  77.  
  78. void LinkSoundTrack() /* (struct SoundTrack ** soundTrack, struct PChannel * pc) */
  79. {
  80.     asm {
  81.         move.l        #0,-(a7)
  82.         move.l        #'STrI',-(a7)
  83.         move.w        #128,-(a7)
  84.         _GetResource
  85.         move.l        (a7)+,a0
  86.         move.l        (a0),a0
  87.         jmp        20(a0)
  88.     }
  89. }
  90.  
  91. void UpdateSoundTrack() /* (struct SoundTrack ** soundTrack) */
  92. {
  93.     asm {
  94.         move.l        #0,-(a7)
  95.         move.l        #'STrI',-(a7)
  96.         move.w        #128,-(a7)
  97.         _GetResource
  98.         move.l        (a7)+,a0
  99.         move.l        (a0),a0
  100.         jmp        24(a0)
  101.     }
  102. }
  103.  
  104.